package com.rfsp.mcp.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.rfsp.common.base.BaseService;
import com.rfsp.common.service.AreaService;
import com.rfsp.mcp.mapper.ProductMapper;
import com.rfsp.mcp.pojo.po.ProductPO;
import com.rfsp.common.pojo.sdto.PageSDTO;
import com.rfsp.mcp.pojo.sdto.ProductSDTO;
import com.rfsp.mcp.pojo.vo.ProductVO;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProductService extends BaseService<ProductPO> {

    @Autowired
    ProductMapper mapper;
    
	@Autowired
	AreaService areaCodeService;

    public PageInfo<ProductVO> get(ProductSDTO sdto, PageSDTO pageSdto){
        if(pageSdto!=null){
            PageHelper.startPage(pageSdto.getPageNum(), pageSdto.getPageSize());
        }
        List<ProductVO> voList=mapper.get(sdto);
        PageInfo<ProductVO> page = new PageInfo(voList);
        return page;
    }

    public PageInfo<ProductVO> getYBD(ProductSDTO sdto, PageSDTO pageSdto){
        if(pageSdto!=null){
            PageHelper.startPage(pageSdto.getPageNum(), pageSdto.getPageSize());
        }
        List<ProductVO> voList=mapper.getYBD(sdto);
        PageInfo<ProductVO> page = new PageInfo(voList);
        return page;
    }

    public List<ProductVO> get(ProductSDTO sdto){
        List<ProductVO> voList=mapper.get(sdto);
        return voList;
    }

    public List<ProductVO> getYBD(ProductSDTO sdto){
        List<ProductVO> voList=mapper.getYBD(sdto);
        return voList;
    }

    public ProductVO getById(Long id){
        ProductPO e=mapper.selectByPrimaryKey(id);
        ProductVO vo=new ProductVO();
        BeanUtils.copyProperties(e,vo);
        return vo;
    }

//    public void combo(List<ProductVO> voList){
//        voList.forEach(this::combo);
//    }
}
